As is well known, a solid state drive (SSD) is a data storage device that uses a NAND-based flash memory to store data. The NAND-based flash memory is a non-volatile memory. After data are written to the flash memory, if no power is supplied to the flash memory, the data are still retained in the flash memory. Generally, the flash memory comprises plural memory arrays. Each memory array is divided into plural blocks as erase units. Moreover, each block is divided into plural pages as read/write units.
Generally, during the process of fabricating the flash memory, some defective cells are possibly generated. After the flash memory is fabricated, it is necessary to verify all cells of the memory array in order to realize all defective cells. Moreover, the addresses of the defective cells are stored in a defective address list. During the operations of the flash memory, the defective cells corresponding to all addresses listed in the defective address list are skipped and not used. Moreover, the detective cells may also be referred as fail bits.
In the memory array of the NAND-based flash memory, a 17,664-byte page has 141,312 bits (=17,664×8). The bit number 141,312 is greater than 217 and smaller than 218. Consequently, it needs a length of 18 bits for indicating the position of one bit in one page. That is, each position of the fail bits in one page can be recorded as an 18-bit defective address.
Generally, after the NAND-based flash memory is fabricated, the failure rate is about 1%. That is, there are about 1,414 (=14,132×1%) fail bits in one page. Consequently, in the defective address list, at least 25,452 (=1,414×18) bits are required to record the positions of the fail bits of one page.
As mentioned above, the defective address list occupies the storage space of the flash memory. For maintaining sufficient space to store data, the solid state drive should have an additional storage space to store the defective address list. Under this circumstance, the cost of the solid state drive increases.
Therefore, it is an important issue to reduce the data size of the defective address list.